package com.comprehensive.dataservice.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.persistence.Entity;
import jakarta.persistence.Table;

import java.time.LocalDate;

/**
 * <p>
 * MovieSeasons 类表示电影季的实体信息，对应数据库中的 movie_seasons 表。
 * 该类实现了 Serializable 接口，支持对象的序列化操作，可用于网络传输或持久化存储。
 * </p>
 *
 * @author
 * @since 2025-07-13
 */
@Entity
@Table(name = "movie_seasons")
@TableName("movie_seasons")
public class MovieSeasons  extends BaseEntity {
    /**
     * 所属电影的 ID，关联到 movies 表中的 id 字段，用于确定该电影季属于哪部电影。
     */
    private Long movieId;

    /**
     * 电影季的编号，用于标识该电影季在所属电影中的顺序。
     */
    private Integer seasonNumber;

    /**
     * 电影季的标题，用于描述该电影季的名称。
     */
    private String title;

    /**
     * 电影季的发布日期，记录该电影季首次发布的时间。
     */
    private LocalDate releaseDate;
    
    /**
     * 获取所属电影的 ID
     * @return 电影 ID
     */
    public Long getMovieId() {
        return movieId;
    }
    
    /**
     * 设置所属电影的 ID
     * @param movieId 电影 ID
     */
    public void setMovieId(Long movieId) {
        this.movieId = movieId;
    }
    
    /**
     * 获取电影季的编号
     * @return 季编号
     */
    public Integer getSeasonNumber() {
        return seasonNumber;
    }
    
    /**
     * 设置电影季的编号
     * @param seasonNumber 季编号
     */
    public void setSeasonNumber(Integer seasonNumber) {
        this.seasonNumber = seasonNumber;
    }
    
    /**
     * 获取电影季的标题
     * @return 季标题
     */
    public String getTitle() {
        return title;
    }
    
    /**
     * 设置电影季的标题
     * @param title 季标题
     */
    public void setTitle(String title) {
        this.title = title;
    }
    
    /**
     * 获取电影季的发布日期
     * @return 发布日期
     */
    public LocalDate getReleaseDate() {
        return releaseDate;
    }
    
    /**
     * 设置电影季的发布日期
     * @param releaseDate 发布日期
     */
    public void setReleaseDate(LocalDate releaseDate) {
        this.releaseDate = releaseDate;
    }
}